package com.juben.svr.service.util;

import com.juben.svr.demos.web.WebSocket;
import com.juben.svr.domain.User;

import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
 * 统一管理session、websocket、curUser
 * 主要用于管理WebSocket连接、会话池和当前登录用户的映射关系
 * webSockets: 存储WebSocket连接的映射表，键为整数，值为WebSocket对象。
 * sessionPool: 存储会话信息的映射表，键为整数，值为包含两个元素的列表，第一个元素是sessionId，第二个元素是session对象。
 * curUserPool: 存储当前登录用户的映射表，键为字符串，值为User对象
 * */
public class CurPool {
    public static Map<Integer, WebSocket> webSockets = new ConcurrentHashMap<>();   //存储WebSocket连接的映射表，键为整数，值为WebSocket对象。
    // list 里面第一个存sessionId，第二个存session
    public static Map<Integer, List<Object>> sessionPool = new ConcurrentHashMap<>();    //存储会话信息的映射表，键为整数，值为包含两个元素的列表，第一个元素是sessionId，第二个元素是session对象。
    //当前登录用户
    public static Map<String, User> curUserPool = new ConcurrentHashMap<>();        //存储当前登录用户的映射表，键为字符串，值为User对象
}
